﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ИнтернетПоддержкаПользователейКлиент
	{
		///////////////////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ-СЦЕНАРИИ
		// Процедура запускает механизм.
		//
		// Параметры:
		//	МестоЗапуска - Строка - место запуска механизма.
		//

		public void СтартоватьМеханизм(/*МестоЗапуска*/)
		{
			/*// Выполнение сценария интерент-поддержки.
*/
			//ВыполнитьСценарий(МестоЗапуска);
		}
		// Процедура запускает механизм (для запуска из меню).
		//

		public void СтартоватьМеханизмИзМеню(/**/)
		{
			/*// Выполнение сценария интерент-поддержки.
*/
			//ВыполнитьСценарий("handStart");
		}
		// Выполнение сценария.
		//
		// Параметры:
		//	МестоЗапуска - Строка - место запуска механизма.
		//

		public void ВыполнитьСценарий(/*МестоЗапуска*/)
		{
			if(true/*МестоЗапуска = "systemStart"*/)
			{
				if(true/*Не ИнтернетПоддержкаПользователейВызовСервера.ЗапускатьМеханизмПриСтарте()*/)
				{
				}
			}
			//ОтветСервера = ЕстьДоступКВебCервису();
			if(true/*ТипЗнч(ОтветСервера) = Тип("Строка")*/)
			{
				if(true/*ОтветСервера = "0"*/)
				{
				}
			}
			/*// Если есть доступ к интернету, то снимаем флаг о не подключении.
*/
			//ИнтернетПоддержкаПользователейВызовСервера.УстановитьНастройкуПовторитьПопыткуПодключенияПриСтартеПрограммы(Истина);
			//ТипОбработки = ОпределитьТипОбработки();
			//ВерсияОбработки = ИнтернетПоддержкаПользователейВызовСервера.ПолучитьВерсиюОбработки();
			//ПараметрыЗапроса		= Новый Массив;
			//ПараметрыЗапроса.Добавить(Новый Структура("Имя, Значение", ТипОбработки, ?(ВерсияОбработки = Неопределено, 0, ВерсияОбработки)));
			/*// Получение команд с веб-сервиса.	
*/
			//ВыполнитьКомандыСВебСервера(ПараметрыЗапроса, МестоЗапуска);
		}
		///////////////////////////////////////////////////////////////////////////////////////////////////
		// ВЫПОЛНЕНИЕ КОМАНД С ВЕБ-СЕРВИСА
		// Процедура получает и выполняет команды с веб-сериса.
		//
		// Параметры:
		//	ПараметрыЗапроса - Структура - параметры для веб-сервиса.
		//	МестоЗапуска - Строка - место запуска процесса.
		//

		public void ВыполнитьКомандыСВебСервера(/*ПараметрыЗапроса, МестоЗапуска*/)
		{
			//МассивСтруктурыКоманд = ПолучитьКомандыСВебСервера(ПараметрыЗапроса);
			if(true/*МассивСтруктурыКоманд = Неопределено*/)
			{
				//ОткрытьФорму("ОбщаяФорма.ИнтернетПоддержкаПользователейОшибкаДоступаКИнтернету");
			}
		}
		// Выполняет отдельную команду, которая пришла с сервера.
		//
		// Параметры:
		//	СтруктураКоманды - Структура - структура команды с сервера.
		//	ПараметрыЗапроса - Структура - параметры передаваемого запроса к серверу.
		//	МестоЗапуска - Строка - место запуска процесса.
		//

		public void ВыполнитьКоманду(/*СтруктураКоманды, ПараметрыЗапроса, МестоЗапуска*/)
		{
			//ИмяКоманды = Неопределено;
			//СтруктураКоманды.Свойство("ИмяКоманды", ИмяКоманды);
			if(true/*ИмяКоманды = Неопределено*/)
			{
			}
			//ИмяКоманды = НРег(СокрЛП(ИмяКоманды));
			if(true/*ИмяКоманды = "download"*/)
			{
				//ВыполнитьКомандуПоСкачиваниюОбработкиИнтернетПоддержки(СтруктураКоманды);
			}
		}
		// Выполняет команду по закачке файла обработки интернет-поддержки пользователей.
		//
		// Параметры:
		//	СтруктураКоманды - Структура - структура команды.
		//

		public void ВыполнитьКомандуПоСкачиваниюОбработкиИнтернетПоддержки(/*СтруктураКоманды*/)
		{
			//ПараметрыКоманды = Неопределено;
			//СтруктураКоманды.Свойство("Параметры", ПараметрыКоманды);
			if(true/*ПараметрыКоманды = Неопределено*/)
			{
			}
			/*// Проверка на скачивание файла.
*/
			if(true/*СтруктураСкачкиОбработки = Неопределено*/)
			{
			}
			if(true/*Не СтруктураСкачкиОбработки.Статус*/)
			{
			}
			//ДвоичныеДанныеОбработки	= ?(ПустаяСтрока(СтруктураСкачкиОбработки.Путь), Неопределено, Новый ДвоичныеДанные(СтруктураСкачкиОбработки.Путь));
			//ИнтернетПоддержкаПользователейВызовСервера.ЗаписатьФайлОбработкиВКонстанту(ДвоичныеДанныеОбработки);
		}
		// Выполняет команду по запуску обработки.
		//
		// Параметры:
		//	СтруктураКоманды - Структура - структура команды.
		//	МестоЗапуска - Строка - место запуска механизма.
		//

		public void ВыполнитьКомандуЗапускаОбработки(/*СтруктураКоманды, МестоЗапуска*/)
		{
			//ПараметрыКоманды = Неопределено;
			//СтруктураКоманды.Свойство("Параметры", ПараметрыКоманды);
			//СтруктураСкачкиУправляемойОбработки		= Неопределено;
			//СтруктураСкачкиНеУправляемойОбработки   = Неопределено;
			if(true/*ПараметрыКоманды = Неопределено*/)
			{
			}
			//БизнесПроцесс = Неопределено;
			//ИмяURI        = Неопределено;
			if(true/*ПустаяСтрока(БизнесПроцесс) или ПустаяСтрока(ИмяURI)*/)
			{
			}
			//ЗапуститьОбработкуНаКлиенте(БизнесПроцесс, ИмяURI, МестоЗапуска);
		}
		// Выполняет команду по остановке механизма "Интернет-поддержка пользователей".
		//
		//
		// Параметры:
		//	СтруктураКоманды - Структура - структура команды.
		//

		public void ВыполнитьКомандуОстановкиМеханизма(/*СтруктураКоманды*/)
		{
			//ПараметрыКоманды = Неопределено;
			//СтруктураКоманды.Свойство("Параметры", ПараметрыКоманды);
			//СтруктураСкачкиУправляемойОбработки		= Неопределено;
			//СтруктураСкачкиНеУправляемойОбработки   = Неопределено;
			if(true/*ПараметрыКоманды = Неопределено*/)
			{
			}
			//КодОшибки = Неопределено;
			if(true/*СокрЛП(Строка(КодОшибки)) <> "0"*/)
			{
				//ОткрытьФорму("ОбщаяФорма.ИнтернетПоддержкаПользователейОшибкаДоступаКИнтернету");
			}
			if(true/*ПустаяСтрока(КодОшибки)*/)
			{
			}
			//ИнтернетПоддержкаПользователейВызовСервера.ЗаписатьОшибкуВЖурналРегистрации(КодОшибки);
		}
		///////////////////////////////////////////////////////////////////////////////////////////////////
		// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
		// Общая интерфейсная функция для получения файла из Интернет по протоколу http(s)
		// либо ftp и сохранения его во временное хранилище.
		//
		// Параметры:
		// URL*           - строка - url файла в формате:
		//                 [Протокол://]<Сервер>/<Путь к файлу на сервере>
		// ПараметрыПолучения* - структура с ключами:
		//         ПутьДляСохранения  - строка - путь на клиенте (включая имя файла), сохранения
		//         Пользователь  - строка - пользователь от имени которого установлено соединение
		//         Пароль        - строка - пароль пользователя от которого установлено соединение
		//         Порт          - число  - порт сервера с которым установлено соединение
		//         ЗащищенноеСоединение - Булево - для случая http загрузки флаг указывает,
		//                                  что соединение должно производиться через https
		//         ПассивноеСоединение -  - Булево - для случая ftp загрузки флаг указывает,
		//                                  что соединение должно пассивным (или активным)
		//
		// помеченные знаком '*' являются обязательными
		//
		// Возвращаемое значение:
		// структура
		// Статус - Булево - ключ присутствует в структуре всегда, значения
		//                   Истина - вызов функции успешно завершен
		//                   Ложь   - вызов функции завершен неудачно
		// Путь - Строка - путь к файлу на клиенте, ключ используется только
		//                 если статус Истина
		// СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь
		//

		public object СкачатьФайлНаКлиенте(/*знач URL,
							знач ПараметрыПолучения = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			/*// Получаем параметры получения файла
*/
			if(true/*ПараметрыПолучения = Неопределено*/)
			{
				//ПараметрыПолучения = Новый Структура;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПутьДляСохранения", ПутьДляСохранения)*/)
			{
				//ПутьДляСохранения = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пользователь", Пользователь)*/)
			{
				//Пользователь = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пароль", Пароль)*/)
			{
				//Пароль = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Порт", Порт)*/)
			{
				//Порт = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ЗащищенноеСоединение", ЗащищенноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПассивноеСоединение", ПассивноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			//НастройкаСохранения = Новый Соответствие;
			//НастройкаСохранения.Вставить("МестоХранения",	"Клиент");
			//НастройкаСохранения.Вставить("Путь",			ПутьДляСохранения);
			/*Результат = ПодготовитьПолучениеФайла(
						URL,
						Пользователь,
						Пароль,
						Порт,
						ЗащищенноеСоединение,
						ПассивноеСоединение,
						НастройкаСохранения);*/
			return null;
		}
		// Запускает экземпляр обработки на клиенте.
		//
		// Параметры:
		//	БизнесПроцесс - Строка - адрес веб-сервиса.
		//	ИмяURI - Строка - простарнство имен.
		//	МестоЗапуска - Строка - место запуска механизма.
		//

		public void ЗапуститьОбработкуНаКлиенте(/*БизнесПроцесс, ИмяURI, МестоЗапуска*/)
		{
			//ВнешняяОбработка = ИмяФормыОбработкиОбычногоПриложения();
			if(true/*ВнешняяОбработка = Неопределено*/)
			{
				//ОткрытьФорму("ОбщаяФорма.ИнтернетПоддержкаПользователейОшибкаДоступаКИнтернету");
			}
			//ВнешняяОбработка.ИмяWSОпределения 	= БизнесПроцесс;
			//ВнешняяОбработка.URIСервиса			= ИмяURI;
			//ВнешняяОбработка.МестоЗапуска 		= МестоЗапуска;
			//НачальнаяФормаОбработки = ВнешняяОбработка.ПолучитьФорму("Стартовая");
			if(true/*НачальнаяФормаОбработки = Неопределено*/)
			{
			}
			//НачальнаяФормаОбработки.Открыть();
		}
		// Возвращает внешнюю обработку (для обычного режима).
		//
		// Возвращаемое значение:
		//	Внешняя обработка или Неопределенно.
		//

		public object ИмяФормыОбработкиОбычногоПриложения(/**/)
		{
			//ФайлОбработки = Константы.ФайлОбработкиИнтернетПоддержкиПользователей.Получить().Получить();
			if(true/*ФайлОбработки = Неопределено*/)
			{
			}
			return null;
		}
		// Возвращает тип обработки в зависимости от вида клиента.
		//
		// Возвращаемое значение - Строка - тип обработки: управляемая или обычная.
		//

		public object ОпределитьТипОбработки(/**/)
		{
			return null;
		}
		// Провряет наличие доступа к веб-сервису.
		//
		// Возвращаемое значение:
		//	Истина - есть доступ к веб-сервиу, Ложь - нет доступа.
		//

		public object ЕстьДоступКВебCервису(/**/)
		{
			return null;
		}
		// Проверяет открытие или неоткрытие формы.
		//

		public object ВыполнитьКомандуПроверкиДоступностиСервиса(/*ОтветСервера*/)
		{
			return null;
		}
		// Получает команды с веб-сервиса.
		//
		// Параметры:
		//	ДополнительныеПараметры - Струткура - дополнительные параметры для передачи веб-сервису.
		//

		public object ПолучитьКомандыСВебСервера(/*ДополнительныеПараметры*/)
		{
			//МассивСтруктурыКоманд = СтруктурироватьОтветСервера(ОтветСервера);
			return null;
		}
		// Добавляет из структуры параметры в запрос.
		//
		// Парамтеры:
		//	ОпределениеWS - WSОпределения - определение веб-ссылки веб-сервиса.
		//	ПараметрыЗапроса - Строка -  уже сформированные параметры.
		//	СписокПараметров - ОбъектXDTO - список значений параметров.
		//	КоличествоПараметров - Число -  количество уже инициализированных параметров.
		//

		public void ДобавитьПараметрыКЗапросу(/*ОпределениеWS, ПараметрыЗапроса, СписокПараметров, КоличествоПараметров*/)
		{
		}
		// Производит структурирование всех команд с веб-сервиса.
		//
		// Параметры:
		//	ОтветСервера - ОбъектXDTO - команды от веб-сервиса.
		//
		// Возвращаемое значение - Массив или Неопределенно - массив структур команд.
		//

		public object СтруктурироватьОтветСервера(/*ОтветСервера*/)
		{
			//МассивОтвета = Новый Массив;
			if(true/*МассивОтвета.Количество() > 0*/)
			{
			}
			return null;
		}
		// Переводит команду и её параметры из "ОбъектаXDTO" в тип "Структура".
		//
		// Параметры:
		//	КомандаСервера - объектXDTO - содержащий команды и её параметра, пришедшие с сервера.
		//
		// Возвращаемое значение:
		//	СтруктураКоманды - Структура - структура команд и её параметров.
		//

		public object СтруктурироватьЗаказчкуФайла(/*КомандаСервера*/)
		{
			//СтруктураКоманды = Новый Структура;
			if(true/*КомандаСервера.parameters.parameter.Количество() = 0*/)
			{
			}
			//МассивПараметров = Новый Массив;
			//СтруктураКоманды.Вставить("Параметры", 	МассивПараметров);
			//СтруктураКоманды.Вставить("ИмяКоманды", КомандаСервера.name);
			return null;
		}
		// Переводит команду и её параметры из "ОбъектаXDTO" в тип "Структура".
		//
		// Параметры:
		//	КомандаСервера - объектXDTO, содержащий команды и её параметра, пришедшие с сервера.
		//
		// Возвращаемое значение:
		//	СтруктураКоманды - Структура - структура команд и её параметров.
		//

		public object СтруктурироватьЗапускОбработки(/*КомандаСервера*/)
		{
			//СтруктураКоманды = Новый Структура;
			if(true/*КомандаСервера.parameters.parameter.Количество() = 0*/)
			{
			}
			//МассивПараметров = Новый Массив;
			//СтруктураКоманды.Вставить("Параметры", 	МассивПараметров);
			//СтруктураКоманды.Вставить("ИмяКоманды", КомандаСервера.name);
			return null;
		}
		// Останваливает работу механизма "Интернет-поддержки пользователей".
		//
		// Параметры:
		//	КомандаСервера - ОбъектXDTO, содержащий команды и её параметра, пришедшие с сервера.
		//
		// Возвращаемое значение:
		//	СтруктураКоманды - Структура - структура команд и её параметров.
		//

		public object СтруктурироватьОстановкуМеханизма(/*КомандаСервера*/)
		{
			//СтруктураКоманды = Новый Структура;
			if(true/*КомандаСервера.parameters.parameter.Количество() = 0*/)
			{
			}
			//МассивПараметров = Новый Массив;
			//СтруктураКоманды.Вставить("Параметры", 	МассивПараметров);
			//СтруктураКоманды.Вставить("ИмяКоманды", КомандаСервера.name);
			return null;
		}
		///////////////////////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПО ЗАГРУЗКЕ ФАЙЛОВ ИЗ ИНТЕРНЕТА
		// Функция для получения файла из интернета.
		//
		// Параметры:
		// URL           - строка - url файла в формате:
		//                 [Протокол://]<Сервер>/<Путь к файлу на сервере>
		// Пользователь  - строка - пользователь от имени которого установлено соединение
		// Пароль        - строка - пароль пользователя от которого установлено соединение
		// Порт          - число  - порт сервера с которым установлено соединение
		// ЗащищенноеПассивноеСоединение
		//
		// НастройкаСохранения - соответствие - содержит параметры для сохранения скачанного файла
		//                 ключи:
		//                 МестоХранения - строка - может содержать
		//                        "Клиент" - клиент,
		//                        "Сервер" - сервер,
		//                        "ВременноеХранилище" - временное хранилище
		//                 Путь - строка (необязательный параметр) -
		//                        путь к каталогу на клиенте либо на сервере либо адрес во временном хранилище
		//                        если не задано будет сгенерировано автоматически
		//
		// Возвращаемое значение:
		// структура
		// успех  - булево - успех или неудача операции
		// строка - строка - в случае успеха либо строка-путь сохранения файла
		//                   либо адрес во временном хранилище
		//                   в случае неуспеха сообщение об ошибке
		//

		public object ПодготовитьПолучениеФайла(/*	знач URL,
									знач Пользователь			= Неопределено,
									знач Пароль					= Неопределено,
									знач Порт					= Неопределено,
									знач ЗащищенноеСоединение	= Ложь,
									знач ПассивноеСоединение	= Ложь,
									знач НастройкаСохранения*/)
		{
			//НастройкаСоединения = Новый Соответствие;
			//НастройкаСоединения.Вставить("Пользователь",	Пользователь);
			//НастройкаСоединения.Вставить("Пароль",			Пароль);
			//НастройкаСоединения.Вставить("Порт",			Порт);
			//Протокол = РазделитьURL(URL).Протокол;
			if(true/*Протокол = "ftp"*/)
			{
				//НастройкаСоединения.Вставить("ПассивноеСоединение", ПассивноеСоединение);
			}
			//НастройкаПроксиСервера = ПолучитьПустыеНастройкиПроксиСервера();
			//Результат = ПолучитьФайлИзИнтернет(URL, НастройкаСохранения, НастройкаСоединения, НастройкаПроксиСервера);
			return null;
		}
		// Общая интерфейсная функция для получения файла из Интернет по протоколу http(s)
		// либо ftp и сохранения его во временное хранилище.
		//
		// Параметры:
		// ПутьДляСохранения  - строка - путь на сервере (включая имя файла), для сохранения скачанного файла
		// URL           - строка - url файла в формате:
		//                 [Протокол://]<Сервер>/<Путь к файлу на сервере>
		// Пользователь  - строка - пользователь от имени которого установлено соединение
		// Пароль        - строка - пароль пользователя от которого установлено соединение
		// Порт          - число  - порт сервера с которым установлено соединение
		// ЗащищенноеСоединение - Булево - для случая http загрузки флаг указывает,
		//                 что соединение должно производиться через https
		// ПассивноеСоединение -  - Булево - для случая ftp загрузки флаг указывает,
		//                 что соединение должно пассивным (или активным)
		//
		// Возвращаемое значение:
		// структура
		// Статус - Булево - ключ присутствует в структуре всегда, значения
		//                   Истина - вызов функции успешно завершен
		//                   Ложь   - вызов функции завершен неудачно
		// Путь - Строка - путь к файлу на сервере, ключ используется только
		//                 если статус Истина
		// СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь
		//

		public object СкачатьФайлНаСервере(/*знач URL,
                             знач ПараметрыПолучения = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			/*// Получаем параметры получения файла
*/
			if(true/*ПараметрыПолучения = Неопределено*/)
			{
				//ПараметрыПолучения = Новый Структура;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПутьДляСохранения", ПутьДляСохранения)*/)
			{
				//ПутьДляСохранения = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пользователь", Пользователь)*/)
			{
				//Пользователь = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пароль", Пароль)*/)
			{
				//Пароль = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Порт", Порт)*/)
			{
				//Порт = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ЗащищенноеСоединение", ЗащищенноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПассивноеСоединение", ПассивноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			//НастройкаСохранения = Новый Соответствие;
			//НастройкаСохранения.Вставить("МестоХранения", "Сервер");
			//НастройкаСохранения.Вставить("Путь", ПутьДляСохранения);
			/*Результат = ПодготовитьПолучениеФайла(
	                 URL,
	                 Пользователь,
	                 Пароль,
	                 Порт,
	                 ЗащищенноеСоединение,
	                 ПассивноеСоединение,
	                 НастройкаСохранения);*/
			return null;
		}
		// Общая интерфейсная функция для получения файла из Интернет по протоколу http(s)
		// либо ftp и сохранения его во временное хранилище.
		//
		// Параметры:
		// URL           - строка - url файла в формате:
		//                 [Протокол://]<Сервер>/<Путь к файлу на сервере>
		// Пользователь  - строка - пользователь от имени которого установлено соединение
		// Пароль        - строка - пароль пользователя от которого установлено соединение
		// Порт          - число  - порт сервера с которым установлено соединение
		// ЗащищенноеСоединение - Булево - для случая http загрузки флаг указывает,
		//                          что соединение должно производиться через https
		// ПассивноеСоединение -  - Булево - для случая ftp загрузки флаг указывает,
		//                          что соединение должно пассивным (или активным)
		//
		// Возвращаемое значение:
		// структура
		// Статус - Булево - ключ присутствует в структуре всегда, значения
		//                   Истина - вызов функции успешно завершен
		//                   Ложь   - вызов функции завершен неудачно
		// Путь - Строка - путь к файлу во временном хранилище,
		//                 ключ используется только если статус Истина
		// СообщениеОбОшибке - Строка - сообщение об ошибке, если статус Ложь
		//

		public object СкачатьФайлВоВременноеХранилище(/*знач URL,
                                        знач ПараметрыПолучения = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			/*// Получаем параметры получения файла
*/
			if(true/*ПараметрыПолучения = Неопределено*/)
			{
				//ПараметрыПолучения = Новый Структура;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПутьДляСохранения", ПутьДляСохранения)*/)
			{
				//ПутьДляСохранения = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пользователь", Пользователь)*/)
			{
				//Пользователь = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Пароль", Пароль)*/)
			{
				//Пароль = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("Порт", Порт)*/)
			{
				//Порт = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ЗащищенноеСоединение", ЗащищенноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			if(true/*Не ПараметрыПолучения.Свойство("ПассивноеСоединение", ПассивноеСоединение)*/)
			{
				//ЗащищенноеПассивноеСоединение = Неопределено;
			}
			//НастройкаСохранения = Новый Соответствие;
			//НастройкаСохранения.Вставить("МестоХранения", "ВременноеХранилище");
			/*Результат = ПодготовитьПолучениеФайла(
	                 URL,
	                 Пользователь,
	                 Пароль,
	                 Порт,
	                 ЗащищенноеСоединение,
	                 ПассивноеСоединение,
	                 НастройкаСохранения);*/
			return null;
		}
		// Записывает двоичные данные в файл, хранящийся во временном хранилище
		//
		// Параметры:
		// АдресВоВременномХранилище - строка - адрес двоичных данных файла
		//                 во временном хранилище
		// ИмяФайла      - строка - путь по которому файл необходимо сохранить
		//               на сервере
		//

		public object СохранитьФайлИзВременногоХранилищаНаСервере(/*АдресВоВременномХранилище, ИмяФайла*/)
		{
			//ДанныеФайла = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
			//ДанныеФайла.Записать(ИмяФайла);
			return null;
		}
		// Получает имя временного файла вызовом одноименной системной функции на сервере
		//

		public object ПолучитьИмяВременногоФайлаНаСервере(/**/)
		{
			return null;
		}
		// Возвращает параметры настройки прокси сервера на стороне сервера 1С:Предприятие
		//

		public void СохранитьНастройкиПроксиНаСервере1СПредприятие(/*знач Настройки*/)
		{
			//УстановитьПривилегированныйРежим(Истина);
		}
		// Возвращает настройку прокси сервера для доступа к интернет со стороны
		// клиента по конкретному пользователю

		public object ПолучитьНастройкуПроксиСервера(/**/)
		{
			return null;
		}
		// Записывает событие-ошибку в журнал регистрации. Имя события
		// "Получение файлов из Интернета".
		// Параметры
		//  СообщениеОбОшибке - строка сообщение об ошибке
		//

		public void ЗаписатьОшибкуВЖурналРегистрации(/*знач СообщениеОбОшибке*/)
		{
			//ЗаписьЖурналаРегистрации("Получение файлов из Интернета", УровеньЖурналаРегистрации.Ошибка, , , СообщениеОбОшибке);
		}
		// Функция для получения файла из интернета.
		//
		// Параметры:
		// URL - строка - url файла в формате: [Протокол://]<Сервер>/<Путь к файлу на сервере>
		//
		// НастройкаСоединения - Соответствие -
		//		ЗащищенноеСоединение* - булево - соединение защищенное
		//		ПассивноеСоединение*  - булево - соединение защищенное
		//		Пользователь - строка - пользователь от имени которого установлено соединение
		//		Пароль       - строка - пароль пользователя от которого установлено соединение
		//		Порт         - число  - порт сервера с которым установлено соединение
		//		* - взаимоисключающие ключи
		//
		// НастройкиПрокси - Соответствие:
		//		ИспользоватьПрокси - использовать ли прокси-сервер
		//		НеИспользоватьПроксиДляЛокальныхАдресов - использовать ли прокси-сервер для локальных адресов
		//		ИспользоватьСистемныеНастройки - использовать ли системные настройки прокси-сервера
		//		Сервер       - адрес прокси-сервера
		//		Порт         - порт прокси-сервера
		//		Пользователь - имя пользователя для авторизации на прокси-сервере
		//		Пароль       - пароль пользователя
		//
		// НастройкаСохранения - соответствие - содержит параметры для сохранения скачанного файла
		//		МестоХранения - строка - может содержать
		//			"Клиент" - клиент,
		//			"Сервер" - сервер,
		//			"ВременноеХранилище" - временное хранилище
		//		Путь - строка (необязательный параметр) - путь к каталогу на клиенте либо на сервере,
		//			либо адрес во временном хранилище,  если не задано будет сгенерировано автоматически
		//
		// Возвращаемое значение:
		// структура
		// успех  - булево - успех или неудача операции
		// строка - строка - в случае успеха либо строка-путь сохранения файла
		//                   либо адрес во временном хранилище
		//                   в случае неуспеха сообщение об ошибке
		//

		public object ПолучитьФайлИзИнтернет(/*знач URL,
                               знач НастройкаСохранения,
                               знач НастройкаСоединения = Неопределено,
                               знач НастройкиПрокси = Неопределено*/)
		{
			/*// Объявление переменных перед первым использованием в качестве
*/
			/*// параметра метода Свойство, при анализе параметров получения файлов
*/
			/*// из ПараметрыПолучения. Содержат значения переданных параметров получения файла
*/
			//URLРазделенный = РазделитьURL(URL);
			//ИмяСервера           = URLРазделенный.ИмяСервера;
			//ПустьКФайлуНаСервере = URLРазделенный.ПустьКФайлуНаСервере;
			//Протокол             = ?(URLРазделенный.Протокол=Неопределено, "", URLРазделенный.Протокол);
			//ЗащищенноеСоединение = НастройкаСоединения.Получить("ЗащищенноеСоединение");
			//ПассивноеСоединение  = НастройкаСоединения.Получить("ПассивноеСоединение");
			//ИмяПользователя      = НастройкаСоединения.Получить("Пользователь");
			//ПарольПользователя   = НастройкаСоединения.Получить("Пароль");
			//Порт                 = НастройкаСоединения.Получить("Порт");
			if(true/*Не ЗначениеЗаполнено(URLРазделенный.Протокол)*/)
			{
				if(true/*ЗащищенноеСоединение <> Неопределено*/)
				{
					if(true/*ЗащищенноеСоединение*/)
					{
						//Протокол = "https";
					}
				}
			}
			//Протокол = ?(ЗначениеЗаполнено(Протокол), Протокол, "http");
			//НастройкиПрокси = ?(НастройкиПрокси = Неопределено, ПолучитьПустыеНастройкиПроксиСервера(), НастройкиПрокси);
			//Прокси = СформироватьПрокси(НастройкиПрокси, Протокол);
			if(true/*Протокол = "ftp"*/)
			{
			}
			if(true/*НастройкаСохранения["Путь"] <> Неопределено*/)
			{
				//ПутьДляСохранения = НастройкаСохранения["Путь"];
			}
			/*// Если сохраняем файл в соответствии с настройкой 
*/
			if(true/*НастройкаСохранения["МестоХранения"] = "ВременноеХранилище"*/)
			{
				//КлючУникальности = Новый УникальныйИдентификатор;
				//Адрес = ПоместитьВоВременноеХранилище (ПутьДляСохранения, КлючУникальности);
			}
			return null;
		}
		// Функция формирует прокси по настройкам прокси (передаваемому параметру)
		//
		// Параметры:
		//
		// НастройкаПроксиСервера - Соответствие:
		//		ИспользоватьПрокси - использовать ли прокси-сервер
		//		НеИспользоватьПроксиДляЛокальныхАдресов - использовать ли прокси-сервер для локальных адресов
		//		ИспользоватьСистемныеНастройки - использовать ли системные настройки прокси-сервера
		//		Сервер       - адрес прокси-сервера
		//		Порт         - порт прокси-сервера
		//		Пользователь - имя пользователя для авторизации на прокси-сервере
		//		Пароль       - пароль пользователя
		// Протокол - строка - протокол для которого устанавливаются параметры прокси сервера, например "http", "https", "ftp"
		//

		public object СформироватьПрокси(/*НастройкаПроксиСервера, Протокол*/)
		{
			if(true/*НастройкаПроксиСервера <> Неопределено*/)
			{
				//ИспользоватьПрокси = НастройкаПроксиСервера.Получить("ИспользоватьПрокси");
				//ИспользоватьСистемныеНастройки = НастройкаПроксиСервера.Получить("ИспользоватьСистемныеНастройки");
				if(true/*ИспользоватьПрокси*/)
				{
					if(true/*ИспользоватьСистемныеНастройки*/)
					{
						/*// Системные настройки прокси-сервера
*/
						//Прокси = Новый ИнтернетПрокси(Истина);
					}
				}
			}
			return null;
		}
		// Разделяем URL по составным частям (протокол, сервер и путь)
		// Параметры:
		// URL           - строка - правильный url к ресурсу в Интернет
		//
		// Возвращаемое значение:
		// структура с полями:
		// протокол   - строка - протокол доступа к ресурсу
		// ИмяСервера - строка - сервер на котором располагается ресурс
		// ПустьКФайлуНаСервере - строка - пусть к файлу на сервере
		//

		public object РазделитьURL(/*знач URL*/)
		{
			//Результат = Новый Структура;
			/*// протокол по умолчанию
*/
			//Протокол = "http";
			//URL = СокрЛП(URL);
			if(true/*Лев(URL, 5) = "ftp://"*/)
			{
				//URL = Прав(URL, СтрДлина(URL) - 7);
			}
			if(true/*Лев(URL, 7) = "http://"*/)
			{
				//URL = Прав(URL, СтрДлина(URL) - 7);
				//Протокол = "http";
			}
			if(true/*Лев(URL, 8) = "https://"*/)
			{
				//URL = Прав(URL, СтрДлина(URL) - 8);
				//Протокол = "https";
			}
			//Индекс = 1;
			//ИмяСервера = "";
			while(true/*Индекс < СтрДлина(URL)*/)
			{
				//_Символ = Сред(URL, Индекс, 1);
				if(true/*_Символ = "/"*/)
				{
				}
				//ИмяСервера = ИмяСервера + _Символ;
				//Индекс = Индекс + 1;
			}
			/*;
	
	ПустьКФайлу = Прав(URL, СтрДлина(URL) - Индекс);*/
			//Результат.Вставить("ИмяСервера", ИмяСервера);
			//Результат.Вставить("ПустьКФайлуНаСервере", ПустьКФайлу);
			//Результат.Вставить("Протокол", Протокол);
			return null;
		}
		// Функция, заполняющая структуру по параметрам.
		//
		// Параметры:
		// УспехОперации - булево - успех или неуспех операции
		// СообщениеПуть - строка -
		//
		// Возвращаемое значение - структура:
		//          поле успех - булево
		//          поле путь  - строка
		//

		public object СформироватьРезультат(/*знач Статус, знач СообщениеПуть*/)
		{
			//Результат = Новый Структура("Статус");
			//Результат.Статус = Статус;
			if(true/*Статус*/)
			{
				//Результат.Вставить("Путь", СообщениеПуть);
			}
			return null;
		}
		// Функция возвращает пустые настройки прокси-сервера, соответствующие не использованию прокси-сервера
		//
		// Возвращаемое значение - структура:
		//		ИспользоватьПрокси - использовать ли прокси-сервер
		//		НеИспользоватьПроксиДляЛокальныхАдресов - использовать ли прокси-сервер для локальных адресов
		//		ИспользоватьСистемныеНастройки - использовать ли системные настройки прокси-сервера
		//		Сервер       - адрес прокси-сервера
		//		Порт         - порт прокси-сервера
		//		Пользователь - имя пользователя для авторизации на прокси-сервере
		//		Пароль       - пароль пользователя
		//

		public object ПолучитьПустыеНастройкиПроксиСервера(/**/)
		{
			//НастройкаПроксиСервера = Новый Соответствие;
			//НастройкаПроксиСервера.Вставить("ИспользоватьПрокси", Ложь);
			//НастройкаПроксиСервера.Вставить("Пользователь", "");
			//НастройкаПроксиСервера.Вставить("Пароль", "");
			//НастройкаПроксиСервера.Вставить("Порт", "");
			//НастройкаПроксиСервера.Вставить("Сервер", "");
			//НастройкаПроксиСервера.Вставить("НеИспользоватьПроксиДляЛокальныхАдресов", Ложь);
			//НастройкаПроксиСервера.Вставить("ИспользоватьСистемныеНастройки", Ложь);
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА
		// Запуск механизма работы с сервисом оператора ЭДО
		// Параметры
		// СертификатЭЦП - сертификат ЭЦП
		// Организация - организация, для которой получается сертификат
		// ВариантБизнесПроцесса - параметр, определяющий какую форму нужно открыть
		//                         параметр может принимать два значения
		//                         "registrationED" - запуск получения (регистрации) нового идентификатора
		//                         "privateED"      - работа с личным кабинетом

		public void СтартоватьМеханизмРаботыСОператоромЭДО(/*
	СертификатЭЦП,
	Организация,
	ВариантБизнесПроцесса,
	ИдентификаторОрганизации = ""*/)
		{
			/*// Проверка заполнения необходимых полей
*/
			//ТекстСообщения = "";
			//КоличествоОшибок = 0;
			if(true/*НЕ ЗначениеЗаполнено(СертификатЭЦП)*/)
			{
				//ТекстОшибки = НСтр("ru = '""Сертификат""'");
				//КоличествоОшибок = КоличествоОшибок + 1;
			}
			if(true/*НЕ ЗначениеЗаполнено(Организация)*/)
			{
				if(true/*НЕ ПустаяСтрока(ТекстОшибки)*/)
				{
					//ТекстОшибки = ТекстОшибки + НСтр("ru = ' и '");
				}
				//ТекстОшибки = ТекстОшибки + НСтр("ru = '""Организация""'");
				//КоличествоОшибок = КоличествоОшибок + 1;
			}
			/*// Значение параметра ВариантБизнесПроцесса подставляется программно
*/
			/*// проверка этого параметра не нужна
*/
			if(true/*КоличествоОшибок > 0*/)
			{
				if(true/*КоличествоОшибок = 1*/)
				{
					//ДопТекст = НСтр("ru = 'Пожалуйста, заполните поле '");
				}
				//ТекстСообщения = ДопТекст + ТекстОшибки;
				if(true/*ВариантБизнесПроцесса = "registrationED"*/)
				{
					//ТекстСообщения = ТекстСообщения + НСтр("ru = ' до получения уникального идентификатора участника обмена ЭД'");
				}
				//Вопрос(ТекстСообщения, РежимДиалогаВопрос.ОК);
			}
			/*// Запуск механизма
*/
			if(true/*ВариантБизнесПроцесса = "registrationED"*/)
			{
				/*ТекстОповещенияПользователя = 
		НСтр("ru = 'Получение уникального идентификатора участника обмена ЭД будет доступно
		           |после подключения к сервису интернет-поддержки пользователей и проверки
				   |подлинности владельца, указанного в соглашении сертификата. Продолжить?'");*/
			}
			if(true/*Вопрос(ТекстОповещенияПользователя, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет*/)
			{
			}
			//СтруктураСтартовыхПараметровЭДО = Новый Структура;
			//СтруктураСтартовыхПараметровЭДО.Вставить("IDCertificateED"   , ПоместитьВоВременноеХранилище(СертификатЭЦП));
			//СтруктураСтартовыхПараметровЭДО.Вставить("IDOrganizationED"  , ПоместитьВоВременноеХранилище(Организация));
			//СтруктураСтартовыхПараметровЭДО.Вставить("variantBPED"       , ПоместитьВоВременноеХранилище(ВариантБизнесПроцесса));
			//СтруктураСтартовыхПараметровЭДО.Вставить("identifierTaxcomED", ПоместитьВоВременноеХранилище(ИдентификаторОрганизации));
			//ИнтернетПоддержкаПользователейВызовСервера.СохранитьСтартовыеПараметры(СтруктураСтартовыхПараметровЭДО, "taxcomStart");
			//СтартоватьМеханизм("taxcomStart");
		}
	}
}
